package StackAndQueue;

import java.util.Stack;

/**
 * @ Author     ：侯耀祖
 * @ Description：
 */
public class evalRPN {
    public int evalRPN(String[] tokens) {
        Stack<Integer> nums = new Stack<>();
        for (String s : tokens){
            if ("+".equals(s)){
                nums.push(nums.pop() + nums.pop());
            } else if ("-".equals(s)){
                nums.push(-nums.pop() + nums.pop());
            } else if ("*".equals(s)) {
                nums.push(nums.pop() * nums.pop());
            } else if ("/".equals(s)) {
                int temp1 = nums.pop();
                int temp2 = nums.pop();
                nums.push(temp2 / temp1);
            } else {
                nums.push(Integer.valueOf(s));
            }
        }
        return nums.pop();
    }
}
